package cn.edu.jxust.core.domain.repository;

import cn.edu.jxust.common.domain.entity.Aqi;
import cn.edu.jxust.common.response.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

/**
 * @author QiuKangming
 * @since 2020-06-29
 */
public interface AqiService extends IService<Aqi> {

    /**
     * 获取Aqi列表
     * @param deviceId 设备id号
     * @param beginTime 开始时间
     * @param endTime 结束时间
     * @param aqiType aqi类型
     * @return Result
     */
    Result getAqiList(Integer deviceId, String beginTime, String endTime, String aqiType);

    /**
     * 获取昨天的每种气体的 Aqi 对象值, 带 iAqi
     * @param deviceId 设备id
     * @param begin 开始时间
     * @param end 结束时间
     * @return List<Aqi>
     */
    List<Aqi> getLastDayiAqiList(Integer deviceId, String begin, String end);

    /**
     * 获取大气单项污染指数
     * @param deviceId 设备id号
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @return Result
     */
    Result getPollutionShareRate(Integer deviceId, String beginDate, String endDate);

    /**
     * 分页获取大气单项污染指数
     * @param deviceId 设备id号
     * @param airType 气体类型
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @return Result
     */
    Result getOneAirList(Integer deviceId, Integer airType, String beginDate, String endDate);

    /**
     * 获取首要污染物天数构成
     * @param deviceId 设备id号
     * @param beginDate 开始日期
     * @param endDate 结束日期
     * @return Result
     */
    Result  getMainPollutionDay(Integer deviceId, String beginDate, String endDate);

    /**
     * 获取 t_aqi 表中前一天设备上传数据的设备ids
     * @param begin 开始日期时间
     * @param end 结束日期时间
     * @return List<Integer>
     */
    List<Integer> getLastDayDeviceIds(String begin, String end);

}
